import  Vue from "vue"
import  Vuex from  'vuex'

Vue.use(Vuex)

//常量   判断 sessionStorage.getItem("state") 是否有值  如果有  就转为对象
//如果没有  就new
const state=sessionStorage.getItem("state")?JSON.parse(sessionStorage.getItem("state")):{
    user:{
      id:'',
      username:'',

    }
};

//快速取 
const  getters={
   gettUser(state){
     return state.user
   }
};

/*同步执行*/
const  mutations={
   updateUser(state,user){
     state.user=user;
   }
}

/*异步执行*/
const  actions={
 asyncUpdateUser(context,user){
   context.commit("updateUser",user);
 }
}

/*暴露当前对象 给其他位置使用*/
export  default   new Vuex.Store({
  state,
  getters,
  mutations,
  actions
})
